home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / pcgames.arc / WUMPUS.BAS (.txt) < prev   
Encoding:
GW-BASIC  |  1985-06-20  |  9.3 KB  |  282 lines

  1. 0  KEY OFF:PLAY"MF":SCREEN 1:FOR Z=3000 TO 440 STEP -30:SOUND Z,0.5:NEXT
  2. 1  SET=100:FOR SSS=1 TO 200:SOUND RND*SET+37,0.0125:SET=SET-0.5:COLOR SSS MOD 15:NEXT:SOUND 37,0:COLOR 0:LOCATE 1,1,0,0,7:DEF SEG:POKE 92,25
  3. 2  REM
  4. 3  REM By Benton Fowler, Rt 1 Box 247H, LaCrescent, MN 55947
  5. 4  REM
  6. 10  PLAY"T250":CLS:' Build Wumpus Caves
  7. 20  DIM I(20,4):SCREEN 1
  8. 30  DATA 2,5,8,1,3,10,2,4,14,2,5,14,1,4,6,5,7,15,6,8,17
  9. 40  DATA 1,7,9,8,10,18,2,9,11,10,12,19,3,11,13,12,14,20,4,13,15
  10. 50  DATA 6,14,16,15,17,20,7,16,18,9,17,19,11,18,20,13,16,19
  11. 60  FOR Q=1 TO 20
  12. 70       READ A,B,C
  13. 80       I(Q,1)=A
  14. 90       I(Q,2)=B
  15. 100      I(Q,3)=C
  16. 110  NEXT Q:CLS:SCREEN 2:SCREEN 0:CLS
  17. 120  PRINT:PRINT:COLOR 31,0,4:PRINT TAB(35);"WUMPUS !!!":COLOR 4:PRINT:PRINT TAB(20);"YOU ARE NOW ENTERING THE";:COLOR 28:PRINT " WUMPUS ZONE !!!"
  18. 130  PRINT:COLOR 14:PRINT TAB(36);"PROCEED":PRINT TAB(33);"WITH CAUTION!":COLOR 7:PRINT:PRINT
  19. 150  RANDOMIZE(VAL(RIGHT$(TIME$,2)))
  20. 160  PRINT TAB(23);"ENTER A RANDOM NUMBER, PLEASE --> ";:INPUT "",E
  21. 170  IF E>444 THEN E=444
  22. 180  FOR I=1 TO E:X=RND:NEXT I
  23. 190  ' INSTRUCTIONS
  24. 200  GOSUB 1880
  25. 210  ' INIT FOR NEW GAME
  26. 220  W0=2:L=1:R=10
  27. 230  ' SET UP MAP
  28. 240  GOSUB 2390
  29. 250  GOTO 370
  30. 260  '
  31. 270  ' MAIN PROGRAM
  32. 280  '
  33. 290  ' CHECK FOR CAVE ENTRANCE
  34. 300  IF L<>1 THEN 370
  35. 310  COLOR RND*14+1:PRINT "YOU ARE IN THE ENTRANCE CAVE."
  36. 320  COLOR RND*14+1:INPUT "DO YOU WISH TO LEAVE";E$
  37. 330  IF E$<>"Y" THEN 370 ELSE COLOR INT(RND*14)+1:PRINT "YOU BAGGED";ABS(2-W0);" WUMPI"
  38. 340  COLOR INT(RND*14)+1:PRINT"GOOD LUCK NEXT NEXT TIME"
  39. 350  GOTO 980
  40. 360  ' DETERMINE HAZARDS
  41. 370  GOSUB 1650
  42. 380  COLOR RND*14+1:PRINT "YOU ARE IN CAVE";L:PLAY"MST250L8O4;CGECGEC;MLL4;CC"
  43. 390  '
  44. 400  COLOR RND*14+1:PRINT "TUNNELS LEAD TO CAVES";I(L,1)",";I(L,2)",";I(L,3)
  45. 410  PLAY"MLT255L8O4;GGEGGECC":COLOR RND*14+1:INPUT "DO YOU WANT TO MOVE OR SHOOT (M OR S)";E$
  46. 420  IF E$="M" THEN 460
  47. 430  IF E$="S" THEN 1030
  48. 440  BEEP:COLOR 31:PRINT "M or S":GOTO 410
  49. 450  '
  50. 460  ' HUNTER MOVES
  51. 470  GOSUB 2210
  52. 480  IF I(M,0)=4 THEN 540
  53. 490  IF I(M,0)=3 THEN 580
  54. 500  IF I(M,0)=2 THEN 730
  55. 510  L=M
  56. 520  IF I(M,4)=1 THEN 830 ' WUMPUS
  57. 530  GOTO 1290 ' WIERD THINGS
  58. 540  PLAY"MLT250L8O3;CDEFGEC":COLOR RND*14+1:PRINT "CAVE BLOCKED BY FALLEN ROCK."
  59. 550  GOTO 1290
  60. 560  '
  61. 570  ' PIT STOP
  62. 580  X=RND
  63. 590  IF X>0.1 THEN 640
  64. 600  FOR SSS=8000 TO 40 STEP -200:SOUND SSS,0.5:NEXT:COLOR RND*14+1:PRINT "WHAT A LUCKY BREAK !!!"
  65. 610  COLOR RND*14+1:PRINT "YOU FELL IN A PIT BUT LANDED ON A LEDGE."
  66. 620  COLOR RND*14+1:PRINT "YOU ARE UNHURT, BUT ONLY BECAUSE YOU LANDED ON YOUR HEAD!!":COLOR RND*14+1:PRINT "WHY DO TURKEYS LIKE YOU HAVE ALL THE LUCK ???":FOR SSS=100 TO 8000 STEP 200:SOUND SSS,0.5:NEXT
  67. 630  GOTO 1290
  68. 640  IF X>0.2 THEN 690
  69. 650  PLAY"MLT250O4L8;C;O3;BAGFDEC;O1;CCCC":COLOR RND*14+1:PRINT "WHEW - GOOD THING YOU'RE SUCH A KLUTZ."
  70. 660  COLOR RND*14+1:PRINT "YOU TRIPPED ON YOUR SHOELACE, BUT IT KEPT YOU FROM FALLING INTO A PIT."
  71. 670  COLOR RND*14+1:PRINT "THAT WAS A CLOSE ONE !"
  72. 680  GOTO 1290
  73. 690  FOR SSS=8000 TO 100 STEP -200:SOUND SSS,0.5:NEXT:COLOR 31:PRINT "EEEEAAAAAAAAYYYYYYYAAAAAAHHHHH IIIITTTSSS AAA PIIIIIIIIIIIIIIT"
  74. 700  GOTO 970 'GAME OVER
  75. 710  '
  76. 720  ' BATS
  77. 730  COLOR RND*14+1:PRINT"BATS GOTCHA":PLAY"MLT240O3L2;D;O2;G;O3L4;E;L8;DCCDDDP4DD;O2;BB;O3;DDCCDCC;O2;BAAP1"
  78. 740  X=INT(RND*20)+1
  79. 750  IF I(X,0)=4 THEN 740 ' NOT A BLOCKED CAVE
  80. 760  IF I(X,0)=3 THEN 580 ' PIIIIIIITTTTTTT
  81. 770  IF I(X,0)=2 THEN 740
  82. 780  IF I(X,0)=1 THEN 830 ' HIA, WUMPUS
  83. 790  L=X
  84. 800  GOTO 1290
  85. 810  '
  86. 820  ' HELLO, MR. WUMPUS...
  87. 830  X=RND
  88. 840  IF X>0.8 THEN 2550
  89. 850  IF X<0.71 THEN 960
  90. 860  PLAY"MST250L8O3;CCCEECGGFEEC":COLOR RND*14+1:PRINT "WWWWWWWOOOOOOOOOOWWWWWWWW!!!!!!!!!!!!"
  91. 870  COLOR RND*14+1:PRINT "WHAT A STORY FOR YOUR GRANDCHILDREN !"
  92. 880  COLOR RND*14+1:PRINT "YOU OUT-WRESTLED A WUMPUS !"
  93. 890  COLOR RND*14+1:PRINT "(DON'T MENTION HOW HE KNOCKED HIMSELF OUT RUNNING INTO A WALL)"
  94. 900  PRINT
  95. 910  COLOR RND*14+1:PRINT "AN UNMARKED WUMPUS SKIN - WHAT A PRIZE - YOU'LL BE RICH !"
  96. 920  IF W0<>2 THEN 2680
  97. 930  COLOR RND*14+1:PRINT "THATS IF YOU CAN ESCAPE ITS MATE - I THINK I SMELL IT NOW !"
  98. 940  W0=1
  99. 950  GOTO 2700
  100. 960  COLOR RND*14+1:PRINT "WUMPUS GOT YOU":PLAY"MLT200L8O3;CCCP64CFFFFCCCP64FAAA"
  101. 970  COLOR RND*14+1:PRINT "TOOOOO BAD...":SOUND 37,30
  102. 980  INPUT "WOULD, BY ANY CHANCE, YOU LIKE TO PLAY AGAIN";E$
  103. 990  IF E$="Y" THEN 210
  104. 1000  IF E$="N" THEN COLOR 7:GOTO 2540
  105. 1010  COLOR 31:BEEP:PRINT "Y or N"
  106. 1020  COLOR 7:GOTO 980
  107. 1030  ' HUNTER SHOOTS
  108. 1040  IF R>0 THEN 1070
  109. 1050  COLOR RND*14+1:PRINT "NO";:COLOR RND*14+1:PRINT " MORE";:COLOR RND*14+1:PRINT " ARROWS":PLAY"MLT200O3L4;GEC"
  110. 1060  GOTO 410
  111. 1070  R=R-1
  112. 1080  GOSUB 2210
  113. 1090  IF Z=1 THEN GOTO 1290
  114. 1100  IF I(M,4)<>1 THEN 1270
  115. 1110  X=RND
  116. 1120  IF X<0.1 THEN 1240
  117. 1130  IF X>0.6 THEN 1170
  118. 1140  FOR SSS=1 TO 5:PLAY"MLT255O5L16;GEC":NEXT:COLOR RND*14+1:PRINT "YOU WOUNDED THE WUMPUS !"
  119. 1150  COLOR RND*14+1:PRINT "BOY, IS HE MAD !
  120. 1160  X=INT(RND*20)+1:GOTO 1380
  121. 1170  PLAY"MST255O3L8;CCGEECGGE;L2;C":COLOR RND*14+16:PRINT "             *********** WHOOPEE ***********"
  122. 1180  COLOR RND*14+16:PRINT "              **** YOU SHOT THE WUMPUS ****"
  123. 1190  COLOR RND*14+16:PRINT "               ******** GOOD WORK ********"
  124. 1200  IF W0<>2 THEN 2680
  125. 1210   PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:COLOR RND*14+1:PRINT"NOW YOU BETTER WATCH OUT FOR ITS MATE"
  126. 1220  W0=1:PRINT
  127. 1230  GOTO 2700
  128. 1240  COLOR RND*14+1:PRINT "UH OH - NOW YOU GOT THAT WUMPUS MAD !":PLAY"MST200L8;GGGGFFFFCCCE"
  129. 1250  COLOR RND*14+1:PRINT "MAYBE YOU SHOULD TAKE THOSE ARCHERY LESSONS YOU WERE THINKING ABOUT !"
  130. 1260  GOTO 1290
  131. 1270  COLOR RND*14+1:PRINT "MISSED."
  132. 1280  '
  133. 1290  ' THINGS THAT GO BUMP IN THE CAVE
  134. 1300  X=RND*25
  135. 1310  IF X>1 THEN 1360
  136. 1320  COLOR RND*14:PRINT "  **** EARTHQUAKE ****":SET=100:FOR SSS=1 TO 200:SOUND RND*SET+37,0.0125:SET=SET-0.5:NEXT:SOUND 37,0:COLOR RND*14+1
  137. 1330  GOSUB 2390
  138. 1340  IF L=W THEN 830
  139. 1350  GOTO 290
  140. 1360  IF X>12 THEN 1420
  141. 1370  ' WUMPY MOVES
  142. 1380  Y=INT(RND*3)+1:I(W,4)=0:W=I(W,Y)
  143. 1390  IF I(W,0)=4 THEN 1380
  144. 1400  I(W,4)=1
  145. 1410  IF W=L THEN 830
  146. 1420  IF X>2 THEN 1490
  147. 1430  IF R=0 THEN 290
  148. 1440  COLOR RND*14+1:PRINT "YOU STUMBLED AND DROPPED YOUR ARROWS, YOU KLUTZ."
  149. 1450  K=INT(RND*3)+1
  150. 1460  IF K>R THEN 290
  151. 1470  R=R-K:PRINT:COLOR RND*14+1:PRINT K;" ARROWS LOST."
  152. 1480  GOTO 290
  153. 1490  IF X<23 THEN 1540
  154. 1500  PLAY"MLT250L8O3;CECD":COLOR RND*14+1:PRINT "YOU FOUND AN ARROW"
  155. 1510  IF R=<2 THEN COLOR RND*14+1:PRINT "YOU NEEDED ONE, TOO."
  156. 1520  R=R+1
  157. 1530  GOTO 290
  158. 1540  IF X<9 THEN 290
  159. 1550  IF X>10 THEN 1580
  160. 1560  COLOR RND*14+1:PRINT "HMMMM -- WUMPUS TRACKS"
  161. 1570  GOTO 290
  162. 1580  IF X>10.5 THEN 290
  163. 1590  COLOR RND*14+1:PRINT "YOU FOUND A PIECE OF RARE FELDSNIT PUSSY"
  164. 1600  COLOR RND*14+1:PRINT "MAYBE YOU SHOULD BE A MINER...":PLAY"MST255L8;DCC"
  165. 1610  GOTO 290
  166. 1620  '
  167. 1630  ' SUB ROUTINES START HERE
  168. 1640  ' AND THE BUCK STOPS HERE
  169. 1650  ' DETERMINE HAZZARDS
  170. 1660  PRINT
  171. 1670  PRINT
  172. 1680  Y1=0:Y2=0:Y3=0
  173. 1690  S=L:GOSUB 1780
  174. 1700  S=I(L,1):GOSUB 1780
  175. 1710  S=I(L,2):GOSUB 1780
  176. 1720  S=I(L,3):GOSUB 1780
  177. 1730  IF Y2=0 AND Y3>0 OR Y3<0 THEN COLOR RND*14+1:PRINT "KINDA STALE AIR HERE"
  178. 1740  COLOR RND*14+1:PRINT "YOU HAVE";R;" ARROWS"
  179. 1750  PRINT
  180. 1760  RETURN
  181. 1770  '
  182. 1780  ' PRINT HAZZARDS
  183. 1790  IF I(S,4)=1 THEN COLOR RND*14+1:PRINT "I SMELL A WUMPUS..."
  184. 1800  IF I(S,0)>2 OR I(S,0)<2 THEN 1830
  185. 1810  IF Y1=0 THEN COLOR RND*14+1:PRINT "I THINK I HEAR BATS..."
  186. 1820  Y1=1
  187. 1830  IF I(S,0)<3 OR I(S,0)>3 THEN 1860
  188. 1840  IF Y2=0 THEN COLOR RND*14+1:PRINT "I FEEL A DRAFT..."
  189. 1850  Y2=1
  190. 1860  IF I(S,0)=4 THEN Y3=1
  191. 1870  RETURN
  192. 1880  COLOR RND*14+1:PRINT TAB(27);"DO YOU WANT INSTRUCTIONS ";:INPUT "";E$
  193. 1890  IF E$="Y" THEN 1930
  194. 1900  IF E$="N" THEN E$="Y":GOTO 2180
  195. 1910  COLOR 31:PRINT "Y or N":BEEP:COLOR 7:GOTO 1880
  196. 1920  ' HERE WE GO !
  197. 1930  COLOR 11,0,3:PRINT:A$=SPACE$(5)
  198. 1940  PRINT A$;"  YOU ARE HUNTING A `WUMPUS' - A CREATURE WHOSE EXTRAORDINARY"
  199. 1950  PRINT A$;"PURPLE FUR COMMANDS A GREAT PRICE.  WUMPI ARE GENTLE CREATURES"
  200. 1960  PRINT A$;"WHO EAT MUSHROOMS AND PLAY WITH THEIR BIG FEET.  HOWEVER, THEY"
  201. 1970  PRINT A$;"LIKE SOLITUDE AND WILL EAT YOU IF YOU BOTHER THEM."
  202. 1980  PRINT
  203. 1990  PRINT A$;"THE WUMPUS LIVES IN A SERIES OF UNDERGROUND CAVES.  EACH CAVE"
  204. 2000  PRINT A$;"IS CONNECTED TO 3 OTHERS BY TUNNELS.  SOME TUNNELS, HOWEVER,"
  205. 2010  PRINT A$;"HAVE BECOME BLOCKED BY FALLING ROCK DURING EARTHQUAKES, WHICH"
  206. 2020  PRINT A$;"ARE COMMON IN THIS AREA.  SOME OF THE CAVES CONTAIN BOTTOMLESS"
  207. 2030  PRINT A$;"PITS (THESE ARE TRULY BOTTOMLESS - IF FALL INTO ONE YOU'LL NEVER
  208. 2040  PRINT A$;"BE SEEN AGAIN).  ALSO TO BE FOUND FLUTTERING AROUND THE CAVES"
  209. 2050  PRINT A$;"ARE `SUPERBATS' - A SORT OF MASS TRANSIT SYSTEM GONE BATTY."
  210. 2060  PRINT A$;"THEY'LL PICK YOU UP AND DROP YOU IN A RANDOM CAVE (WHERE"
  211. 2070  PRINT A$;"YOU MAY FALL INTO A PIT OR GET EATEN BY A WUMPUS).  BY THE WAY,"
  212. 2080  PRINT A$;"IF AN EARTHQUAKE OCCURS, PITS MAY FILL UP, THE TUNNELS MAY"
  213. 2090  PRINT A$;"BECOME BLOCKED OR CLEAR UP, AND THE WUMPUS IS DISTURBED."
  214. 2100  PRINT
  215. 2110  PRINT A$;"THE WUMPUS IS UNNAFFECTED BY THE HAZZARDS (HE HAS SUCKER FEET AND
  216. 2120  PRINT A$;"IS TOO HEAVY FOR THE BATS TO LIFT).  ALSO IF HE IS RESTLESS HE"
  217. 2130  PRINT A$;"MAY WANDER AIMLESSLY THROUGH THE CAVES - PERHAPS TO STUMBLE APON
  218. 2140  PRINT A$;"A TASTY HUNTER TO HAVE FOR HIS DESSERT."
  219. 2150  PRINT
  220. 2160  PRINT A$;"PLEASE HAVE GOOD FORTUNE IN YOUR HUNTING, UNTIL YOU'RE ET."
  221. 2170  COLOR 3:PRINT A$;"ENTER Y WHEN YOU ARE READY TO PLAY";:INPUT E$
  222. 2180  IF E$="Y" THEN COLOR 7,0,0:CLS:RETURN
  223. 2190  COLOR 31:PRINT A$;"I SAID Y !!!!!":BEEP:COLOR 7
  224. 2200  GOTO 2170
  225. 2210  ' ROUTINE TO DETERMINE DESTINATION CAVE
  226. 2220  COLOR RND*14+1:INPUT "WHICH CAVE ";E
  227. 2230  IF E=L THEN 2290
  228. 2240  IF E=I(L,1) THEN 2360
  229. 2250  IF E=I(L,2) THEN 2360
  230. 2260  IF E=I(L,3) THEN 2360
  231. 2270  COLOR RND*14+1:PRINT "YOU CANT GET TO CAVE";E;" FROM HERE !":BEEP
  232. 2280  GOTO 2220
  233. 2290  IF E$="M" THEN 2350
  234. 2300  COLOR RND*14+1:PRINT "YIIIIIIIIIIIII":FOR Z=1 TO 20:SOUND 5000,0.5:SOUND 4200,0.5:NEXT
  235. 2310  COLOR RND*14+1:PRINT "YOU SHOT YOURSELF IN THE FOOT, YOU DUMMY."
  236. 2320  COLOR RND*14+1:PRINT "NICE GOING.  ALL THAT NOISE MIGHT WAKE THE WUMPUS"
  237. 2330  Z1=1
  238. 2340  GOTO 2370
  239. 2350  COLOR RND*14+1:PRINT "ARE'NT YOU A LAZY SLOB, THOUGH?":SOUND 1000,5:SOUND 1200,2:SOUND 1000,5
  240. 2360  Z1=0
  241. 2370  M=E
  242. 2380  RETURN
  243. 2390  ' LOCATE HAZARDS
  244. 2400  FOR T=1 TO 20:I(T,0)=0:I(T,4)=0:NEXT T
  245. 2410  X=INT(RND*20)+1
  246. 2420  IF X=1 THEN 2410
  247. 2430  I(X,4)=1:W=X:Z=1
  248. 2440  FOR Y=1 TO 3
  249. 2450     Z=Z+1
  250. 2460     FOR V=1 TO 2
  251. 2470             X=INT(RND*20)+1
  252. 2480             IF X=1 THEN 2470
  253. 2490             IF I(X,0)>0 OR I(X,0)<0 THEN 2470
  254. 2500  I(X,0)=Z
  255. 2510  NEXT V
  256. 2520  NEXT Y
  257. 2530  RETURN
  258. 2540  PLAY"MST150L8O3;CC;MLO4;CCCCCCP64CC;O3;AAAAAAA;L16;AC;L8;DDD;L16;C;L8;E-E-E-;L16;C;L4;EEE":END
  259. 2550  PLAY"MLT255O3L8;CCDEEDEEDC":COLOR RND*14+1:PRINT "WHEW, WHAT AN ESCAPE !"
  260. 2560  COLOR RND*14+1:PRINT "THE WUMPUS ALMOST GOT YOU, BUT A ROCK FELL ON HIS HEAD"
  261. 2570  X=RND:IF X>0.7 THEN 2610
  262. 2580  COLOR RND*14+1:PRINT "YOU LOST HALF YOUR ARROWS, BUT YOU ESCAPED"
  263. 2590  R=INT(R/2)
  264. 2600  GOTO 2630
  265. 2610  COLOR RND*14+1:PRINT "YOU LOST ALL YOUR ARROWS, BUT YOU ESCAPED"
  266. 2620  R=0
  267. 2630  Y=INT(RND*3)+1:L=I(L,Y)
  268. 2640  Y=INT(RND*3)+1:I(W,4)=0:W=I(W,Y)
  269. 2650  IF I(W,0)=4 THEN 2640
  270. 2660  I(W,4)=1:IF W=L THEN 2640
  271. 2670  GOTO 290
  272. 2680  PLAY"MLT250L8O4;CFA;O5;CC;O4;A;O5;CC;O4;A;O5;CC;O4;AF":COLOR RND*14+1:PRINT "YOU MADE IT ! YOU KILLED BOTH WUMPI ! GOOD JOB !"
  273. 2690  GOTO 980
  274. 2700  W0=1
  275. 2710  I(W,4)=0
  276. 2720  X=INT(RND*20)+1
  277. 2730  IF I(X,0)>0 OR I(X,0)<0 THEN 2720
  278. 2740  IF X=L THEN 2720
  279. 2750  W=X
  280. 2760  I(X,4)=1
  281. 2770  GOTO 290
  282.